﻿#ifndef BASELIB_BASE_H
#define BASELIB_BASE_H

//コピーコンストラクタと代入演算子を無効にするマクロ
//使用例
// class Foo {
//  private:
//   DISALLOW_COPY_AND_ASSIGN(Foo);
// };
//Google Chromeコードから：http://src.chromium.org/svn/trunk/src/third_party/cld/base/basictypes.h
//スタイルガイド：http://www.textdrop.net/google-styleguide-ja/cppguide.xml#%E3%82%B3%E3%83%94%E3%83%BC%E3%82%B3%E3%83%B3%E3%82%B9%E3%83%88%E3%83%A9%E3%82%AF%E3%82%BF
#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
  TypeName(const TypeName&);               \
  void operator=(const TypeName&)

namespace base {

//Winbase.h 内の SYSTEMTIME に倣う
// 週と秒とミリ秒は除く
struct Time {
  unsigned short year;
  unsigned short month;
  unsigned short day;
  unsigned short hour;
  unsigned short minute;
};

void FatalErrorMessageBox(const char* message);

} // namespace base

#endif // BASELIB_BASE_H